1. Field of the Invention
The present invention relates to the recovery of lost or damaged encoded data. More particularly, the present invention relates to the minimizing of quality degradation caused by error propagation in bitstreams containing lost or damaged encoded data.
2. Art Background
It is quite common to compress data to minimize transmission or storage bandwidth requirements. One type of compression process is referred to as variable length coding. In variable length coding processes, the signal is typically divided into several localized regions, also referred to as blocks, and is coded by quantizing each region according to its signal activity level. In an exemplary signal such as signals representative of digital images, different parts of the images have different activity levels and are therefore coded with a different number of quantization bits.
The information regarding the number of quantization bits used for coding different regions is used by the decoder to delineate the respective quantization bits of each block from the received bitstream, which in turn is used to decode the blocks. Therefore, when the information regarding the number of quantization bits used to encode data is lost, a recovery process is implemented to estimate the number of quantization bits used to generate the codes representative of the data. If the number of quantization bits is not accurately estimated, the error incurred will propagate through the bitstream as the decoder is unable to determine the location of the end of one block, and therefore the beginning of the next block.
One type of variable length encoding is known as Adaptive Dynamic Range Coding (ADRC). For further information regarding ADRC, see, “Adaptive Dynamic Range Coding Scheme for Future HDTV Digital VTR”, Kondo, Fujimori, Nakaya, Fourth International Workshop on HDTV and Beyond, Sep. 4–6, 1991, Turin, Italy.
In one example of ADRC, blocks are encoded using a minimum pixel value (MIN), the dynamic range (DR) of pixel values in the block, the motion flag (MF) indicative of temporal activity and the quantization codes (Q codes) representative of each pixel in a block. The Q codes are generated based upon a minimum value, quantization step and the original pixel value. The quantization step is determined by the DR of the block and the number of quantization bits (Qbit), wherein the Qbit is a function of DR.
When the encoded bits are received in the decoder, the Qbit and MF information of each block is needed to delineate the portion of the bitstream corresponding to each block, and in turn to decode the block. If the DR and/or MF of the block is damaged, it is necessary to recover or estimate the information in order that the blocks can be decoded. At the same time, in case of a recovery failure, this error will likely result in incorrect decoding of the rest of the blocks and, in turn, severe picture degradation, since the starting point of subsequent blocks in the bitstream will be incorrectly identified.